- class Trans
- {
- public static void main(String[] args)
- {
- //toBinary(60);
- //toOux(-60);
- toHex(60);
- //System.out.println("Hello World!");
- }
- //转二进制
- public static void toBinary(int num){
- trans(num,1,1);
- }
- //转八进制
- public static void toOux(int num){
- trans(num,7,3);
- }
- //转十六进制
- public static void toHex(int num){
- trans(num,15,4);
- }
- //十进制转成以上三种进制需要做的相同操作
- public static void trans(int num,int base,int offset){ //参数分别为待转换的数,进制基数-1,右移位数
- if(num==0){
- System.out.println(num);
- return ;
- }
- char[] chs={'0','1','2','3','4',
- '5','6','7','8','9',
- 'A','B','C','D','E',
- 'F'};//注意要从‘0’开始!!这样才能满足chs[1]='1'。
- char[] arr=new char[32];
- int i=0;
- while(num!=0){
- int temp=num&base;
- arr[i++]=chs[temp];
- num=num>>>offset;
- }
- for(int j=i-1;j>=0;j--)
- System.out.print(arr[j]);
- }
- }
java 十进制转二进制、八进制、十六进制代码复用
最新推荐文章于 2022-08-09 12:34:31 发布